package com.suning.sawp.intf.returngoods;

import java.util.List;

import com.suning.sawp.dto.bi.StoreRetGdsRankListDto;
import com.suning.sawp.dto.returngoods.RetGdsRateChartRtn;
import com.suning.sawp.dto.returngoods.RetGdsStatisListRtn;

public interface ReturnGoodsDaoService {

    /**
     * 
     * 功能描述: 门店退货统计图表-日统计<br>
     * 〈功能详细描述〉
     * 
     * @param storeCode
     * @param categoryCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<RetGdsRateChartRtn> queryRetGdsStatisByDay(String storeCode, String categoryCode);

    /**
     * 
     * 功能描述: 门店退货统计图表-月统计<br>
     * 〈功能详细描述〉
     * 
     * @param storeCode
     * @param categoryCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<RetGdsRateChartRtn> queryRetGdsStatisByMonth(String storeCode, String categoryCode);

    /**
     * 
     * 功能描述: 门店退货统计图表-周统计<br>
     * 〈功能详细描述〉
     * 
     * @param storeCode
     * @param categoryCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<RetGdsRateChartRtn> queryRetGdsStatisByWeek(String storeCode, String categoryCode);
    /**
     * 
     * 功能描述: 查询退货统计日明细<br>
     * 〈功能详细描述〉
     *
     * @param brachCodes
     * @param categoryCodes
     * @param sortType
     * @param sumType
     * @param startIndex
     * @param limit
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<RetGdsStatisListRtn> queryRetGdsStatisDetailByDay(List<String> brachCodes,
            List<String> categoryCodes, String sortType, String sumType, Integer startIndex,
            Integer limit, String storeCode);
    /**
     * 
     * 功能描述: 查询退货统计日明细数量<br>
     * 〈功能详细描述〉
     *
     * @param brachCodes
     * @param categoryCodes
     * @param sortType
     * @param sumType
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    int queryCountRetGdsDetailByDay(List<String> brachCodes,
            List<String> categoryCodes, String sortType, String sumType, String storeCode);
    /**
     * 
     * 功能描述:查询退货统计月明细 <br>
     * 〈功能详细描述〉
     *
     * @param brachCodes
     * @param categoryCodes
     * @param sortType
     * @param sumType
     * @param startIndex
     * @param limit
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<RetGdsStatisListRtn> queryRetGdsStatisDetailByMonth(List<String> brachCodes,
            List<String> categoryCodes, String sortType, String sumType, Integer startIndex,
            Integer limit, String storeCode);
    /**
     * 
     * 功能描述: 查询退货统计月明细条数<br>
     * 〈功能详细描述〉
     *
     * @param brachCodes
     * @param categoryCodes
     * @param sortType
     * @param sumType
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    int queryCountRetGdsDetailByMonth(List<String> brachCodes,
            List<String> categoryCodes, String sortType, String sumType,String storeCode);
    /**
     * 
     * 功能描述: 查询退货统计周明细<br>
     * 〈功能详细描述〉
     *
     * @param brachCodes
     * @param categoryCodes
     * @param sortType
     * @param sumType
     * @param startIndex
     * @param limit
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<RetGdsStatisListRtn> queryRetGdsStatisDetailByWeek(List<String> brachCodes,
            List<String> categoryCodes, String sortType, String sumType, Integer startIndex,
            Integer limit, String storeCode);
    /**
     * 
     * 功能描述: 查询退货统计周明细条数<br>
     * 〈功能详细描述〉
     *
     * @param brachCodes
     * @param categoryCodes
     * @param sortType
     * @param sumType
     * @param storeCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    int queryCountRetGdsDetailByWeek(List<String> brachCodes,
            List<String> categoryCodes, String sortType, String sumType,String storeCode);
    
    /**
     * 
     * 功能描述: 查询某月里门店退货率排行榜<br>
     * 〈功能详细描述〉
     *
     * @param distCode
     * @param yyyyMM
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<StoreRetGdsRankListDto> queryStoreRetGdsRankList(String distCode, String month);
    
    /**
     * 
     * 功能描述: 查询门店品类退货率排行榜<br>
     * 〈功能详细描述〉
     *
     * @param distCode
     * @param cateCode
     * @param month yyyyMM
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<StoreRetGdsRankListDto> queryStoreCateRetRankList(String distCode, String cateCode, String month);
}
